﻿<!--
 * Copyright (c) 2010, Andriy Syrov
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification, are permitted provided 
 * that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of conditions and the 
 * following disclaimer.
 * 
 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and 
 * the following disclaimer in the documentation and/or other materials provided with the distribution.
 *
 * Neither the name of Andriy Syrov nor the names of his contributors may be used to endorse or promote 
 * products derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED 
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY 
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 
 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 
 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
 *   
 -->

<ResourceDictionary
    xmlns:local="clr-namespace:ColorWheel.Controls"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Style
        x:Key="SliderRepeatButtonStyle"
        TargetType="{x:Type RepeatButton}">

        <Setter
            Property="OverridesDefaultStyle"
            Value="true" />
        <Setter
            Property="IsTabStop"
            Value="false" />
        <Setter
            Property="Focusable"
            Value="false" />
        <Setter
            Property="Template">
            <Setter.Value>
                <ControlTemplate
                    TargetType="{x:Type RepeatButton}">
                    <Rectangle
                        Fill="Transparent" />
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    
    <Style
        x:Key="HorizontalSliderThumbStyle"
        TargetType="{x:Type Thumb}">
        
        <Setter
            Property="Focusable"
            Value="false" />
        
        <Setter
            Property="OverridesDefaultStyle"
            Value="true" />
        
        <Setter
            Property="Height"
            Value="12" />
        
        <Setter
            Property="Width"
            Value="12" />

        <Setter
            Property="BorderBrush"
            Value="White" />

        <Setter
            Property="Background"
            Value="Black" />
        
        <Setter
            Property="Foreground"
            Value="Black" />
        
        <Setter
            Property="Template">
            <Setter.Value>
                <ControlTemplate
                    TargetType="{x:Type Thumb}">
                    
                    <Path
                        Cursor="Hand"
                        Data="M 1,10 11,10 6,0 Z"
                        Stroke="{TemplateBinding BorderBrush}"
                        StrokeThickness="{TemplateBinding BorderThickness}"
                        Fill="{TemplateBinding Background}" />
                    
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    
    <Style
        TargetType="{x:Type local:ColorComponentSlider}">
        <Setter
            Property="Stylus.IsPressAndHoldEnabled"
            Value="false" />
        <Setter
            Property="Background"
            Value="Transparent" />
        <Setter
            Property="Foreground"
            Value="#FFC4C4C4" />
        <Setter
            Property="Template">
            <Setter.Value>
                <ControlTemplate
                    TargetType="{x:Type local:ColorComponentSlider}">
                    <Border
                        BorderBrush="{TemplateBinding BorderBrush}"
                        BorderThickness="{TemplateBinding BorderThickness}"
                        Background="{TemplateBinding Background}"
                        SnapsToDevicePixels="true">
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition
                                    Height="Auto" />
                                <RowDefinition
                                    Height="Auto"
                                    MinHeight="{TemplateBinding MinHeight}" />
                                <RowDefinition
                                    Height="Auto" />
                            </Grid.RowDefinitions>

                            <Border
                                Background="Transparent"
                                Grid.Row="0"
                                Height="14"
                                x:Name="HorizontalTrackRectangle"
                                VerticalAlignment="Stretch"
                                HorizontalAlignment="Stretch"
                                Margin="5, 0, 5, 0"
                                CornerRadius="1"
                                BorderBrush="White"
                                BorderThickness="1">

                            </Border>
                            
                            <Track
                                x:Name="PART_Track"
                                Grid.Row="1">
                                <Track.DecreaseRepeatButton>
                                    <RepeatButton
                                        Command="{x:Static Slider.DecreaseLarge}"
                                        Style="{StaticResource SliderRepeatButtonStyle}" />
                                </Track.DecreaseRepeatButton>
                                <Track.IncreaseRepeatButton>
                                    <RepeatButton
                                        Command="{x:Static Slider.IncreaseLarge}"
                                        Style="{StaticResource SliderRepeatButtonStyle}" />
                                </Track.IncreaseRepeatButton>
                                <Track.Thumb>
                                    <Thumb
                                        x:Name="Thumb"
                                        Style="{StaticResource HorizontalSliderThumbStyle}" />
                                </Track.Thumb>
                            </Track>
                        </Grid>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


</ResourceDictionary>
